package me.send.data.service.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import me.send.business.base.Pager;
import me.send.business.base.SendVariable;
import me.send.data.service.mapper.RoleMapper;
import me.send.data.service.pojo.Role;
import me.send.framework.util.HelperUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class RoleService {

	@Autowired
	private RoleMapper roleMapper;

	// 编辑角色管理 数据 2015年7月8日10:47:29
	public Map<String, Object> role_edit(Role role) {
		Map<String, Object> map = new HashMap<String, Object>();

		// 查询role 是否存在数据库 看是否是有roleid
		if (role != null && role.getRoleid() > 0) {
			// 说明前台是有数据的 调用更新的方法
			role.setUpdatetime(HelperUtil.getCurrentDate());
			roleMapper.update(role);
			map.put(SendVariable.DATA, SendVariable.SUCCESS);
		} else {
			role.setCreatetime(HelperUtil.getCurrentDate());
			role.setUpdatetime(HelperUtil.getCurrentDate());
			roleMapper.insert(role);
			map.put(SendVariable.DATA, SendVariable.SUCCESS);
		}
		return map;
	}

	public Map<String, Object> batch_delete(String roleids){
		Map<String, Object> map = new HashMap<String, Object>();
		// 调用批量删除方法
		Map<String, Object> parameter = new HashMap<String, Object>();
		parameter.put("roleids", roleids);
		roleMapper.batch_delete(parameter);
		map.put(SendVariable.DATA, SendVariable.SUCCESS);
		return map;
	}
	
	public Map<String, Object> page(Pager pager, Role role) {
		// 使用上面的参数 2015年6月18日16:07:09
		Map<String, Object> parameter = new HashMap<String, Object>();
		// 使用、传到map下面的数据 参数

		// 下面的条件 判断 条用查询count

		// 实例化一个 map 下面 使用这个 实例
		Map<String, Object> result = new HashMap<String, Object>();
		if (pager == null) {
			pager = new Pager();
			// 判断这个page对象是否是null 如果是null 实例化一下page对象
		}

		parameter.put(SendVariable.PAGE, pager);
		parameter.put(SendVariable.DATA, role);

		// 按照easyui的规则 返回的map下面是要有 rows 数据 total是 这个条件下面的个数
		List<Map<String, Object>> rows = roleMapper.list_page(parameter);

		Integer total = roleMapper.count(parameter);

		// 将easyui使用的对象放在map对象下面 最后转换成json格式 返回到前台界面去 2015年6月18日16:11:57
		result.put(SendVariable.ROWS, rows);
		result.put(SendVariable.TOTAL, total);

		// 返回下面的map
		return result;
	}
	
	/**
	 * 
	 * @param roleid
	 * @return
	 * @author maxmin
	 * @date 2015年9月10日上午11:31:45
	 */
	public Role getRoleById(int roleid){
		return roleMapper.getRoleById(roleid);
	}
}
